<?php

/**
 * 用户反馈类
 *
 * @package    modules
 * @subpackage Center
 * @author     fuxiang <892576@gmail.com>
 */

namespace Center;

use Common\Bridge;

class UserAdvice
{
    /**
     * 表名
     */
    const CONTACT_TABLE_NAME = 'UserAdvice';


    private function __construct()
    {
    }

    /**
     * 新增用户反馈信息
     *
     * @param string $deviceid 用户设备ID
     * @param string $contents 用户反馈内容
     * @param array  $data     反馈信息数据(可选)
     *                         UserId  - 用户ID
     *                         UserAgent - 手机设备基本信息
     *                         Contact  - 联系方式
     * @return bool
     */
    public static function addUserAdvice($deviceid, $contents, $data)
    {
        if (empty($deviceid) || empty($contents)) {
            return false;
        }
        $newdata = [
            'UserId' => intval($data['UserId']),
            'DeviceId' => $deviceid,
            'UserAgent' => empty($data['UserAgent']) ? '' : $data['UserAgent'],
            'Contents' => $contents,
            'Contact' => empty($data['Contact']) ? '' : $data['Contact'],
            'CreateTime' => date('Y-m-d H:i:s')
        ];
        $pdo = Bridge::pdo(Bridge::DB_CENTER_W);
        $flag = $pdo->insert(self::CONTACT_TABLE_NAME, $newdata);
        if ($flag > 0) {
            return true;
        }

        return false;
    }

    /**
     * 修改用户反馈信息
     *
     * @param integer $id   反馈信息ID
     * @param array   $info 用户举报／反馈类型需修改的数组数据，能修改的字段 ['IsGood', 'Status']
     * @return bool
     */
    public static function updateUserAdvice($id, $info = [])
    {
        if (empty($id)) {
            return false;
        }
        $data = [
            'IsGood' => 0
        ];
        $newdata = array_intersect_key($info, $data);
        $pdo = Bridge::pdo(Bridge::DB_CENTER_W);
        $flag = $pdo->update(self::CONTACT_TABLE_NAME, $newdata, ['AdviceId' => $id]);
        if ($flag !== false) {
            return true;
        }

        return false;
    }
}
